import logging.config
from datetime import datetime
import os

# 获取当前文件的绝对路径
current_file_path = os.path.abspath(__file__)
easymoney_dir = os.path.dirname(os.path.dirname(os.path.dirname(current_file_path)))

# 构建日志文件的路径
log_dir = os.path.join(easymoney_dir, 'log')
# 如果 log 文件夹不存在，则创建它
if not os.path.exists(log_dir):
    os.makedirs(log_dir)

# 获取当前日期并格式化用于文件名
now = datetime.now()
log_filename = os.path.join(log_dir, f"debug_{now.strftime('%Y-%m-%d')}.log")

# 定义日志配置字典
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
        },
    },
    'handlers': {
        'file': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',
            'filename': log_filename,
            'formatter': 'verbose'
        },
        'console': {  # 添加一个 console handler
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'verbose'
        },
    },
    'root': {
        'handlers': ['file', 'console'],
        'level': 'DEBUG',
    },
}


# 应用日志配置
def configure_logging():
    logging.config.dictConfig(LOGGING)
